#pragma once

#include "MeshInstance.h"
#include "Light.h"
#include "ParticleSystem.h"

#include "Array.h"
#include "Frustum.h"

namespace mgfx
{
	struct RenderingData
	{
		RenderingData();
		~RenderingData();

		util::Array<MeshInstance> Meshes;

		DirectionalLight MainLight;
		util::Array<PointLight> PointLights;
		util::Array<SpotLight> SpotLights;

		util::Array<ParticleSystem> PartSystems;

		mmath::FrustumPersp ViewFrustum;

		XMFLOAT4X4 ViewMatrix;
		XMFLOAT4X4 ProjMatrix;
		XMFLOAT4X4 ViewProjMatrix;
		XMFLOAT3 EyePosition;
	};
}